Standard database methodology consists of having each item of stored data associated with a designated set of characteristics. Each characteristic is assigned specific values for each piece of data. Each item of data is usually referred to as a “record” and the characteristics are called the “fields” of that record. Searches of such databases are typically done by specifying desired values or ranges of values for a plurality of such fields. Each individual record in the database is then checked against the specified values and those records that fit the requested values are identified and retrieved as successful results of the search. Since each record in the database needs to be checked, such a search can be slow and demands substantial computing resources if the database is large. Various intelligent search methods have been employed to try to speed this search process up, but the fundamental difficulty lies in the system of storing and examining and accessing each individual record in the database. Improved storage and retrieval methods are needed including methods that do not require the examination of each individual record in the database.
There have been several attempts at such new methods. For example the patent to Rustige, U.S. Pat. No. 6,134,542 addresses the problem of searching multiple databases with a single query. Rustige's method involves the creation of a separate database containing references to characteristics of the records of these databases. According to the Rustige disclosure, references are keyed by specific values for those characteristics, not ranges. The patent to Aldred, U.S. Pat. No. 6,236,988 uses a branching tree structure to organize some of the data in a database. This structure creates a hierarchy of objects and a table for finding particular objects. This technique allows for faster retrieval of an object and its descendants, but still uses fixed value searching not range searching. The patent to Fujihara, U.S. Pat. No. 6,687,688 discloses a method using multi-dimensional coordinate data. The method therein uses labels based on coordinate data to access and retrieve desired data. This method still requires a record by record search of the whole database for matching query characteristics to the labels.